package com.campus.help.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 代课服务实体类
 *
 * @author campus-help
 * @since 2025-09-18
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("substitute_class")
public class SubstituteClass extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 课程名称
     */
    @TableField("course_name")
    private String courseName;

    /**
     * 任课教师
     */
    @TableField("teacher")
    private String teacher;

    /**
     * 上课地点
     */
    @TableField("location")
    private String location;

    /**
     * 上课日期
     */
    @TableField("class_date")
    private LocalDateTime classDate;

    /**
     * 开始时间
     */
    @TableField("start_time")
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    @TableField("end_time")
    private LocalDateTime endTime;

    /**
     * 代课报酬
     */
    @TableField("reward")
    private BigDecimal reward;

    /**
     * 需求描述
     */
    @TableField("description")
    private String description;

    /**
     * 特殊要求
     */
    @TableField("requirements")
    private String requirements;

    /**
     * 发布者ID
     */
    @TableField("publisher_id")
    private Long publisherId;

    /**
     * 接单者ID
     */
    @TableField("accepter_id")
    private Long accepterId;

    /**
     * 状态（pending：待接单，accepted：已接单，completed：已完成，cancelled：已取消）
     */
    @TableField("status")
    private String status;

    /**
     * 是否紧急（0：否，1：是）
     */
    @TableField("urgent")
    private Integer urgent;

    /**
     * 浏览次数
     */
    @TableField("view_count")
    private Integer viewCount;

    /**
     * 接单时间
     */
    @TableField("accept_time")
    private LocalDateTime acceptTime;
}
